﻿using UnityEngine;

namespace Yoozoo.Gameplay.RTS
{
    public class MarchSequareConstant
    {
        //策划想要每一帧都播
        public static readonly float RotateSpeed = Mathf.PI/4;  //转向速度 Mathf.PI/4 就是每帧一个方向

        public static readonly int RotateFrameSpeed = 1;//转45度需要的帧数
        
        public static readonly float minChangePosDistanceFactor = 0.5f;//最小变阵距离因子；
        public static readonly float minRotationDistance = 1.5f;  //防止移动很小的情况下连续转向，比如180度转弯的时候，最后一排可能要先转向调整位置的方向，然后又转向方阵方向
        
        public static readonly float MirrorThresholdValue = -0.4f;// 转向向量点积阈值，点积结果小于该值就镜像

        public static readonly float ThresholdValue45 = 45f;//转向向量点积阈值，45度以内
        public static readonly float ThresholdValue90 = 0f;// 45 - 90
        public static readonly float ThresholdValue135 = -0.7f;



        // public static float moveSpeed = 1.2f; //这个是移动速度的倍率； 是转弯用的

        //动画速率调整
        public static readonly float NormalSpriteSpeed = 1f;  // 所有动画，默认的值；
        public static readonly float MoveSpriteSpeed = 1f;  // 移动的动画帧加成； 临时用，应该美术调整好的，这里临时给策划用，1.5是策划感受调出来的
        public static readonly float MoveSpriteSpeedMax = 1f; //转向的时候，小兵移动会加速，这里给一个最大值，然后在1.5-2之间随机一个速度，只影响序列帧的播放速率
        public static readonly bool originPosRotation = false;
        
        
        
        //方阵与与自己的位置偏差超过该值直接使用最终值
        public static readonly float DeviationDistance = 0.5f;

        //小兵与自己的位置偏差超过该值直接使用最终值
        public static readonly float ChildUnitDeviationDistance = 1f;

        //攻击时候矫正自己的方向 时间间隔(战斗中，对方走了，但还在自己的射程内，这个时候服务器不会同步状态）
        public static readonly float BattleCheckForwardDural = 1;

        
        //
        public readonly static float AnimatorSpeed = 1f;

        public const ulong DebugUid = 10;
        
    }
   
}